SACO: Static Analyzer for Concurrent Objects

نویسندگان

  • Elvira Albert
  • Puri Arenas
  • Antonio Flores-Montoya
  • Samir Genaim
  • Miguel Gómez-Zamalloa
  • Enrique Martin-Martin
  • Germán Puebla
  • Guillermo Román-Díez
چکیده

We present the main concepts, usage and implementation of SACO, a static analyzer for concurrent objects. Interestingly, SACO is able to infer both liveness (namely termination and resource boundedness) and safety properties (namely deadlock freedom) of programs based on concurrent objects. The system integrates auxiliary analyses such as points-to and may-happen-in-parallel, which are essential for increasing the accuracy of the aforementioned more complex properties. SACO provides accurate information about the dependencies which may introduce deadlocks, loops whose termination is not guaranteed, and upper bounds on the resource consumption of methods.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Structural Testing of Concurrent Programs

Although structural testing techniques are among the weakest available with regard to developing confidence in sequential programs, they are not without merit. This paper extends the notion of structural testing criteria to concurrent programs and proposes a hierarchy of supporting structural testing techniques. Coverage criteria described include concurrency state coverage, state transition co...

متن کامل

Implementing a Static Analyzer of Concurrent Programs: Problems and Perspectives

The aim of the paper is to share the design problems we experienced when we were implementing a prototype analyzer of an asyn-chronous concurrent language. This new kind of static analyzer is based on previous work about operational semantics of parallel languages that can express concurrency and non-determinism of actions: it constructs abstract automata reeecting all the possible execution be...

متن کامل

Taking Static Analysis to the Next Level: Proving the Absence of Run-Time Errors and Data Races with Astrée

We present an extension of Astrée to concurrent C software. Astrée is a sound static analyzer for run-time errors previously limited to sequential C software. Our extension employs a scalable abstraction which covers all possible thread interleavings, and soundly reports all run-time errors and data races: when the analyzer does not report any alarm, the program is proven free from those classe...

متن کامل

On the Structure of Sharing in Open Concurrent Java Programs

This paper studies the structure of shared objects in open concurrent Java programs. It proposes classification of shared objects into three categories: central, owned and distributed. This classification facilitates program understanding and error detection in concurrent programs. The paper presents a new static analysis that infers central, owned and distributed objects in open concurrent Jav...

متن کامل

A Geometric Approach to the Problem of Unique Decomposition of Processes

This paper proposes a geometric solution to the problem of prime decomposability of concurrent processes first explored by R. Milner and F. Moller in [MM93]. Concurrent programs are given a geometric semantics using cubical areas, for which a unique factorization theorem is proved. An effective factorization method which is correct and complete with respect to the geometric semantics is derived...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014